<?php
class Data_Model_Mixturas {
    public function exportarPdf ($data=NULL) {
        try {
            $mixturas = array();

            $modelo = new Api_Model_Mixturas();

            if (NULL === $data) {
                $mixturas = $modelo->getMixturas(PDO::FETCH_ASSOC);
            } else {
                $mixturas = $modelo->exportarMixturas($data, PDO::FETCH_ASSOC);
            }

            $view = new Zend_View();
            $view->addScriptPath(realpath(APPLICATION_PATH . '/../public/templates'));
            $view->assign('mixturas', $mixturas);

            $contenido = $view->render('imprimirMixtura.phtml');
            $archivo = DATA_PATH . '\Mixturas ' . date('Y') . '.pdf';
            
            $pdf = new PDF_HTML2PDF('P', 'A4', 'es');
            $pdf->WriteHTML($contenido);
            $pdf->Output($archivo, 'F');

            return $archivo;
        } catch(Exception $e) { 
            echo $e->getMessage();
        }
    }

    // Excel
	// Constantes para excel
	const AU_CALC = 'AA';
	const AG_REAL = 'AV';
	const AG_CALC = 'AB';
	const ZN_CALC = 'R';
	const ZN_REAL = 'BD';
	const SIO2_CALC = 'O';
	const SIO2_REAL = 'AY';
	const CAO_CALC = 'Q';
	const CAO_TOT_REAL = 'BA';
	const FE304 = 'AU';
	const FE_CALC = 'P';
	const FE_REAL = 'AZ';
	const FE_SIO2_MIXTURA_CALC = 'AE';
	const FE_SIO2_REAL = 'AF';
	const S_TOTAL_CALC = 'S';
	const S_REAL = 'BE';
	const S_SO4_CALC = 'U';
	const SB_CALC = 'Y';
	const SB_REAL = 'BH';
	const PB_CAL_C = 'V';
	const PB_REAL = 'AW';
	const CU_CAL_C = 'W';
	const CU_REAL = 'AX';
	const AS_CAL_C = 'X';
	const AS_REAL = 'BG';
	const CU_AS_REAL = 'BO';
	const CU_AS_CALC = 'AJ';
	const AS_SB_CALC = 'AK';
	const AS_SB_REAL = 'BP';
	const CU_PB_CAL_C = 'AI';
	const CU_PB = 'BR';
	const CA_SIO2_CAL_C = 'AG';
	const CAO_SIO2_REAL = 'BM';
	const AL203_REAL = 'BK';
	const CU_AS_SB_CALC = 'AQ';
	const MGO_REAL = 'BJ';
	const SECS_REFINERIA = 'I';
	const SECS_DE_FUND = 'L';
	const SECS_ZINC = 'K';
	const INS = 'N';
	const TONELAJE_COSTO_CAL_C = 'AO';
	const ARENA = 'G';
	const PIEDRA_DE_CAL = 'H';
	const CASC_FE_TONS = 'M';
	const SULFUROS = 'E';
	const S_UTIL_CAL_C = 'T';
	const SUMA_DE_ENSAYES_FUNDENTES = 'AL';
	const SUMA_DE_ENSAYES_NO_FUNDENTES = 'AM';
	const SUMA_TOTAL_ENSAYES_CALC = 'AD';

	private function _rellenarExcel(&$excel, $mixturas) {
		$worksheet = $excel->getActiveSheet();

		$worksheet->setTitle('Mixturas');

		$worksheet->getCell("A1")->setValue("Mixtura Calculada");
		$worksheet->getCell("B1")->setValue("Fecha cierre");
		$worksheet->getCell("C1")->setValue("Forecast");
		$worksheet->getCell("D1")->setValue("PESO HUMEDO");
		$worksheet->getCell("E1")->setValue("% Sulfuros");
		$worksheet->getCell("F1")->setValue("% Oxido (minerales)");
		$worksheet->getCell("G1")->setValue("% Arena");
		$worksheet->getCell("H1")->setValue("% Piedra de Cal");
		$worksheet->getCell("I1")->setValue("% Secs. Refineria");
		$worksheet->getCell("J1")->setValue("% Secs. Bermejillo");
		$worksheet->getCell("K1")->setValue("% Secs. de Zinc");
		$worksheet->getCell("L1")->setValue("% Secs. de Fund");
		$worksheet->getCell("M1")->setValue("% Casc. Fe. Tons");
		$worksheet->getCell("N1")->setValue("% Ins");
		$worksheet->getCell("O1")->setValue("% SiO2 CAL C");
		$worksheet->getCell("P1")->setValue("% Fe CAL C");
		$worksheet->getCell("Q1")->setValue("% CaO CAL C");
		$worksheet->getCell("R1")->setValue("% Zn CAL C");
		$worksheet->getCell("S1")->setValue("% S total CAL C");
		$worksheet->getCell("T1")->setValue("% S util CAL C");
		$worksheet->getCell("U1")->setValue("% S/SO4 CAL C");
		$worksheet->getCell("V1")->setValue("% Pb CAL C");
		$worksheet->getCell("W1")->setValue("% Cu CAL C");
		$worksheet->getCell("X1")->setValue("% As CAL C");
		$worksheet->getCell("Y1")->setValue("% Sb CAL C");
		$worksheet->getCell("Z1")->setValue("% Cd CAL C");
		$worksheet->getCell("AA1")->setValue("gr/ton Au CAL C");
		$worksheet->getCell("AB1")->setValue("kg/ton Ag CAL C");
		$worksheet->getCell("AC1")->setValue("kg/ton Pb CAL C");
		$worksheet->getCell("AD1")->setValue("suma total ensayes CAL");
		$worksheet->getCell("AE1")->setValue("Fe/SiO2 mixturas CAL C");
		$worksheet->getCell("AF1")->setValue("Fe/SiO2 mixturas + cascarillas CAL C");
		$worksheet->getCell("AG1")->setValue("Ca/SiO2 CAL C");
		$worksheet->getCell("AH1")->setValue("Sb/Pb CAL C");
		$worksheet->getCell("AI1")->setValue("Cu/Pb CAL C");
		$worksheet->getCell("AJ1")->setValue("Cu/As CAL C");
		$worksheet->getCell("AK1")->setValue("As/Pb CAL C");
		$worksheet->getCell("AL1")->setValue("Suma de ensayes fundentes");
		$worksheet->getCell("AM1")->setValue("Suma de ensayes no fundentes");
		$worksheet->getCell("AN1")->setValue("TOTAL SECS CAL C");
		$worksheet->getCell("AO1")->setValue("Tonelaje Costo CAL C");
		$worksheet->getCell("AP1")->setValue("Suma de Fundentes (%)");
		$worksheet->getCell("AQ1")->setValue("Cu/(As + Sb) Calc");
		$worksheet->getCell("AR1")->setValue("FECHA");
		$worksheet->getCell("AS1")->setValue("# Mixtura Tradicional");
		$worksheet->getCell("AT1")->setValue("MUESTRA");
		$worksheet->getCell("AU1")->setValue("% Fe3O4");
		$worksheet->getCell("AV1")->setValue("g/t Ag Real");
		$worksheet->getCell("AW1")->setValue("% Pb REAL");
		$worksheet->getCell("AX1")->setValue("% Cu REAL");
		$worksheet->getCell("AY1")->setValue("% SiO2 REAL");
		$worksheet->getCell("AZ1")->setValue("% Fe REAL");
		$worksheet->getCell("BA1")->setValue("TON FE REAL");
		$worksheet->getCell("BA1")->setValue("% CaO Tot REAL");
		$worksheet->getCell("BB1")->setValue("TON CaO REAL");
		$worksheet->getCell("BC1")->setValue("% CaO Utll REAL");
		$worksheet->getCell("BD1")->setValue("% Zn REAL");
		$worksheet->getCell("BE1")->setValue("% S REAL");
		$worksheet->getCell("BF1")->setValue("% S Leco");
		$worksheet->getCell("BG1")->setValue("% As REAL");
		$worksheet->getCell("BH1")->setValue("% Sb REAL");
		$worksheet->getCell("BI1")->setValue("% Cd REAL");
		$worksheet->getCell("BJ1")->setValue("% MgO REAL");
		$worksheet->getCell("BK1")->setValue("% Al203 REAL");
		$worksheet->getCell("BL1")->setValue("% Sn REAL");
		$worksheet->getCell("BM1")->setValue("CaO/SiO2 REAL");
		$worksheet->getCell("BN1")->setValue("Fe/SiO2 REAL");
		$worksheet->getCell("BO1")->setValue("Cu/As REAL");
		$worksheet->getCell("BP1")->setValue("As/Sb REAL");
		$worksheet->getCell("BQ1")->setValue("Ag REAL");
		$worksheet->getCell("BR1")->setValue("Cu/Pb");

		for ($i = 0, $j = 2; $i < count($mixturas); $i++, $j++) {
			$worksheet->getCell("A" . $j)->setValue($mixturas[$i]['MIXT']);
			$worksheet->getCell("B" . $j)->setValue($mixturas[$i]['CIERRE']);
			$worksheet->getCell("C" . $j)->setValue($mixturas[$i]['Forecast']);
			$worksheet->getCell("D" . $j)->setValue($mixturas[$i]['PESO HUMEDO']);
			$worksheet->getCell("E" . $j)->setValue($mixturas[$i]['% Sulfuros']);
			$worksheet->getCell("F" . $j)->setValue($mixturas[$i]['% Oxidos (minerales)']);
			$worksheet->getCell("G" . $j)->setValue($mixturas[$i]['% Arena']);
			$worksheet->getCell("H" . $j)->setValue($mixturas[$i]['% Piedra de Cal']);
			$worksheet->getCell("I" . $j)->setValue($mixturas[$i]['% Secs Refineria']);
			$worksheet->getCell("J" . $j)->setValue($mixturas[$i]['% Secs Bermejillo']);
			$worksheet->getCell("K" . $j)->setValue($mixturas[$i]['% Secs de Zinc']);
			$worksheet->getCell("L" . $j)->setValue($mixturas[$i]['% Secs Fund']);
			$worksheet->getCell("M" . $j)->setValue($mixturas[$i]['% Casc Fe Tons']);
			$worksheet->getCell("N" . $j)->setValue($mixturas[$i]['% Ins']);
			$worksheet->getCell("O" . $j)->setValue($mixturas[$i]['% SiO2 CALC']);
			$worksheet->getCell("P" . $j)->setValue($mixturas[$i]['% Fe CALC']);
			$worksheet->getCell("Q" . $j)->setValue($mixturas[$i]['% CaO CALC']);
			$worksheet->getCell("R" . $j)->setValue($mixturas[$i]['% Zn CALC']);
			$worksheet->getCell("S" . $j)->setValue($mixturas[$i]['% S total CALC']);
			$worksheet->getCell("T" . $j)->setValue($mixturas[$i]['% S util CALC']);
			$worksheet->getCell("U" . $j)->setValue($mixturas[$i]['% S/SO4 CALC']);
			$worksheet->getCell("V" . $j)->setValue($mixturas[$i]['% Pb CALC']);
			$worksheet->getCell("W" . $j)->setValue($mixturas[$i]['% Cu CALC']);
			$worksheet->getCell("X" . $j)->setValue($mixturas[$i]['% As CALC']);
			$worksheet->getCell("Y" . $j)->setValue($mixturas[$i]['% Sb CALC']);
			$worksheet->getCell("Z" . $j)->setValue($mixturas[$i]['% Cd CALC']);
			$worksheet->getCell("AA" . $j)->setValue($mixturas[$i]['gr/ton Au CALC']);
			$worksheet->getCell("AB" . $j)->setValue($mixturas[$i]['kg/ton Ag CALC']);
			$worksheet->getCell("AD" . $j)->setValue($mixturas[$i]['suma total ensayes CAL']);
			$worksheet->getCell("AE" . $j)->setValue($mixturas[$i]['Fe/SiO2 mixtura CALC']);
			$worksheet->getCell("AF" . $j)->setValue($mixturas[$i]['Fe/SiO2 mixtura + cascarilla CALC']);
			$worksheet->getCell("AG" . $j)->setValue($mixturas[$i]['CaO/SiO2 CALC']);
			$worksheet->getCell("AH" . $j)->setValue($mixturas[$i]['Sb/Pb CALC']);
			$worksheet->getCell("AI" . $j)->setValue($mixturas[$i]['Cu/Pb CALC']);
			$worksheet->getCell("AJ" . $j)->setValue($mixturas[$i]['Cu/As CALC']);
			$worksheet->getCell("AK" . $j)->setValue($mixturas[$i]['As/Sb CALC']);
			$worksheet->getCell("AL" . $j)->setValue($mixturas[$i]['Suma de ensayes funde']);
			$worksheet->getCell("AM" . $j)->setValue($mixturas[$i]['Suma de ensayes no funde']);
			$worksheet->getCell("AN" . $j)->setValue($mixturas[$i]['TOTAL SECS CALC']);
			$worksheet->getCell("AO" . $j)->setValue($mixturas[$i]['Tonelaje Costo CALC']);
			$worksheet->getCell("AP" . $j)->setValue($mixturas[$i]['Suma de Fundentes']);
			$worksheet->getCell("AQ" . $j)->setValue($mixturas[$i]['Cu/(As+Sb) Calc']);

            // Ensaye
			$worksheet->getCell("AR" . $j)->setValue($mixturas[$i]['Fecha']);
			$worksheet->getCell("AS" . $j)->setValue($mixturas[$i]['# Mixtura Tradicional']);
			$worksheet->getCell("AT" . $j)->setValue($mixturas[$i]['MUESTRA']);
			$worksheet->getCell("AU" . $j)->setValue($mixturas[$i]['% Fe3O4']);
			$worksheet->getCell("AV" . $j)->setValue($mixturas[$i]['g/t Ag REAL']);
			$worksheet->getCell("AW" . $j)->setValue($mixturas[$i]['% Pb REAL']);
			$worksheet->getCell("AX" . $j)->setValue($mixturas[$i]['% Cu REAL']);
			$worksheet->getCell("AY" . $j)->setValue($mixturas[$i]['% SiO2 REAL']);
			$worksheet->getCell("AZ" . $j)->setValue($mixturas[$i]['% Fe REAL']);
			$worksheet->getCell("BA" . $j)->setValue($mixturas[$i]['TON FE REAL']);
			$worksheet->getCell("BA" . $j)->setValue($mixturas[$i]['% CaO Tot REAL']);
			$worksheet->getCell("BB" . $j)->setValue($mixturas[$i]['TON CaO REAL']);
			$worksheet->getCell("BC" . $j)->setValue($mixturas[$i]['% CaO Utll REAL']);
			$worksheet->getCell("BD" . $j)->setValue($mixturas[$i]['% Zn REAL']);
			$worksheet->getCell("BE" . $j)->setValue($mixturas[$i]['% S REAL']);
			$worksheet->getCell("BF" . $j)->setValue($mixturas[$i]['% S Leco']);
			$worksheet->getCell("BG" . $j)->setValue($mixturas[$i]['% As REAL']);
			$worksheet->getCell("BH" . $j)->setValue($mixturas[$i]['% Sb REAL']);
			$worksheet->getCell("BI" . $j)->setValue($mixturas[$i]['% Cd REAL']);
			$worksheet->getCell("BJ" . $j)->setValue($mixturas[$i]['% MgO REAL']);
			$worksheet->getCell("BK" . $j)->setValue($mixturas[$i]['% Al203 REAL']);
			$worksheet->getCell("BL" . $j)->setValue($mixturas[$i]['% Sn REAL']);
			$worksheet->getCell("BM" . $j)->setValue($mixturas[$i]['CaO/SiO2 REAL']);
			$worksheet->getCell("BN" . $j)->setValue($mixturas[$i]['Fe/SiO2 REAL']);
			$worksheet->getCell("BO" . $j)->setValue($mixturas[$i]['Cu/As REAL']);
			$worksheet->getCell("BP" . $j)->setValue($mixturas[$i]['As/Sb REAL']);
			$worksheet->getCell("BQ" . $j)->setValue($mixturas[$i]['Ag REAL']);
			$worksheet->getCell("BR" . $j)->setValue($mixturas[$i]['Cu/Pb']);
		}
	}

	private function _creaGrafica(&$excel, $tituloGrafica, $nombreHojaDeEstilo, $noValores, $renglones=array()) {
		// Crear una nueva hoja
		$worksheet = $excel->createSheet();
		$worksheet->setTitle($nombreHojaDeEstilo);

		// Convertir en arreglo
		if (!is_array($renglones)) {
			$tmp = $renglones;
			$renglones = array($tmp);
		}

		// Valor del eje de las X
		// Leyendas
		$ejeX = array(
			new PHPExcel_Chart_DataSeriesValues('Number', 'Mixturas!$A$2:$A$'.($noValores + 1), NULL, $noValores)
		);

		$valores = array();
		$leyendas = array();

		foreach ($renglones as $renglon) {
			// Leyendas
			$leyendas[] = new PHPExcel_Chart_DataSeriesValues('String', 'Mixturas!$'.$renglon.'$1', NULL, 1);

			// Valores
			$valores[] = new PHPExcel_Chart_DataSeriesValues('Number', 'Mixturas!$'.$renglon.'$2:$'.$renglon.'$'.($noValores + 1), NULL, $noValores);
		}

		// datos de la gráfica.
		$series = new PHPExcel_Chart_DataSeries(
			PHPExcel_Chart_DataSeries::TYPE_LINECHART,
			PHPExcel_Chart_DataSeries::GROUPING_STANDARD,
			range(0, intval($noValores - 1)),
			$leyendas,
			$ejeX,
			$valores
		);

		// dirección de la gráfica
		$series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_BAR);

		// establecer el area de dibujo
		$areaGrafica = new PHPExcel_Chart_PlotArea(NULL, array($series));

		// establecer la leyenda de la gráfica.
		$leyendaGrafica = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_TOPRIGHT, NULL, false);

		// titulo grafica		
		$tituloDeGrafica = new PHPExcel_Chart_Title($tituloGrafica);

		$yAxisLabel = new PHPExcel_Chart_Title('');

		// Crear grafica
		$grafica = new PHPExcel_Chart(
			'Grafica',
			$tituloDeGrafica,
			$leyendaGrafica,
			$areaGrafica,
			true,
			0,
			NULL,
			$yAxisLabel
		);

		// Crear la grafica
		$grafica->setTopLeftPosition('A1');

        $noValores = ($noValores < 15) ? 15 : $noValores;

		$grafica->setBottomRightPosition('AA' . $noValores);

		//	Agregar chart
		$worksheet->addChart($grafica);
	}

    public function exportarExcel($data) {
		$excel = new PHPExcel();
		$fileName = DATA_PATH . '\Mixturas ' . date('Y') . '.xlsx';

        // Llenar excel
		$model = new Api_Model_Mixturas();
		$mixturas = $model->exportarMixturas($data, PDO::FETCH_ASSOC);

        // Eliminar archivo si existe.
		if (file_exists($fileName)) {
			unlink($fileName);
		}

		// Llenar con datos.
		$this->_rellenarExcel($excel, $mixturas);

		// Crear gráfica
		$this->_creaGrafica(
            $excel,
			'Ensaye de mixturas Au', 
			'Au', 
			count ($mixturas), 
			self::AU_CALC);

		$this->_creaGrafica(
			$excel,
            'Ensaye de mixturas Ag', 
			'Ag', 
			count ($mixturas), 
			array(
				self::AG_REAL,
				self::AG_CALC
			));

		$this->_creaGrafica(
			$excel,
            'Ensaye de mixturas Zn', 
			'Zn', 
			count ($mixturas), 
			array(
				self::ZN_CALC,
				self::ZN_REAL
			));

		$this->_creaGrafica(
			$excel,
            'Ensaye de mixturas', 
			'SiO2', 
			count ($mixturas), 
			array(
				self::SIO2_CALC,
				self::SIO2_REAL
			));

		$this->_creaGrafica(
			$excel,
            'Ensaye de mixturas', 
			'CaO', 
			count ($mixturas), 
			array(
				self::CAO_CALC,
				self::CAO_TOT_REAL
			));

		$this->_creaGrafica(
			$excel,
            'Ensaye de Mixturas Fe304', 
			'Fe304', 
			count ($mixturas), 
			self::FE304);

		$this->_creaGrafica(
			$excel,
            'Ensaye de mixturas', 
			'Fe', 
			count ($mixturas), 
			array(
				self::FE_CALC,
				self::FE_REAL
			));

		$this->_creaGrafica(
			$excel,
            'Ensaye de mixturas', 
			'Fe-SiO2', 
			count ($mixturas), 
			array(
				self::FE_SIO2_MIXTURA_CALC,
				self::FE_SIO2_REAL
			));

		$this->_creaGrafica(
			$excel,
            'Ensaye de mixturas', 
			'S', 
			count ($mixturas), 
			array(
				self::S_TOTAL_CALC,
				self::S_REAL
			));

		$this->_creaGrafica(
			$excel,
            'Ensaye de mixturas', 
			'S-SO4', 
			count ($mixturas), 
			self::S_SO4_CALC
		);

		$this->_creaGrafica(
			$excel,
            'Ensaye de Antimonio en Mixturas', 
			'Sb',
			count ($mixturas), 
			array(
				self::SB_CALC,
				self::SB_REAL
			)
		);

		$this->_creaGrafica(
			$excel,
            'Ensaye de Mixturas', 
			'Pb',
			count ($mixturas), 
			array(
				self::PB_CAL_C,
				self::PB_REAL
			)
		);

		$this->_creaGrafica(
			$excel,
            'Ensaye de Mixturas', 
			'Cu', 
			count ($mixturas), 
			array(
				self::CU_CAL_C,
				self::CU_REAL
			)
		);

		$this->_creaGrafica(
			$excel,
            'Ensaye de Arsenico en Mixturas', 
			'As', 
			count ($mixturas), 
			array(
				self::AS_CAL_C,
				self::AS_REAL
			)
		);

		$this->_creaGrafica(
			$excel,
            'Ensaye de Mixturas',
			'Cu-As', 
			count ($mixturas), 
			array(
				self::CU_AS_REAL,
				self::CU_AS_CALC
			)
		);

		$this->_creaGrafica(
			$excel,
            'Ensaye de Mixturas',
			'As-Sb', 
			count ($mixturas), 
			array(
				self::AS_SB_CALC,
				self::AS_SB_REAL
			)
		);

		$this->_creaGrafica(
			$excel,
            'Ensaye de Mixturas',
			'Cu-Pb', 
			count ($mixturas), 
			array(
				self::CU_PB_CAL_C,
				self::CU_PB
			)
		);

		$this->_creaGrafica(
			$excel,
            'Ensaye de Mixturas',
			'CaO-SiO2', 
			count ($mixturas), 
			array(
				self::CA_SIO2_CAL_C,
				self::CAO_SIO2_REAL
			)
		);

		$this->_creaGrafica(
			$excel,
            'AL203 REAL', 
			'AL203 Real',
			count ($mixturas),
			self::AL203_REAL
		);

		$this->_creaGrafica(
			$excel,
            'Relacion de Cu/AS+Sb en Mixturas', 
			'Cu-As+Sb',
			count ($mixturas), 
			self::CU_AS_SB_CALC
		);

		$this->_creaGrafica(
			$excel,
            'MGO REAL', 
			'Cu-As+Sb',
			count ($mixturas), 
			self::MGO_REAL
		);

		$this->_creaGrafica(
			$excel,
            'Fundición de Plomo % SEC. refinería EN MIXTURA', 
			'%SEC REF',
			count ($mixturas), 
			self::SECS_REFINERIA
		);

		$this->_creaGrafica(
			$excel,
            'Fundición de Plomo % SEC. FUNDICION EN MIXTURAS', 
			'%SEC FUN',
			count ($mixturas), 
			self::SECS_DE_FUND
		);

		$this->_creaGrafica(
			$excel,
            'Fundición de Plomo % MnO2 EN MIXTURAS', 
			'%SECSZINC',
			count ($mixturas), 
			self::SECS_ZINC
		);

		$this->_creaGrafica(
			$excel,
            'FUNDICION DE PLOMO  TOTAL SECUNDARIOS', 
			'TOTALSECS', 
			count ($mixturas), 
			self::INS
		);

		$this->_creaGrafica(
			$excel,
            'FUNDICION DE PLOMO  TONELAJE COSTO EN MIXTURAS', 
			'TON COSTO', 
			count ($mixturas), 
			self::TONELAJE_COSTO_CAL_C
		);

		$this->_creaGrafica(
			$excel,
            'FUNDICION DE PLOMO % de Arena en Mixturas', 
			'% arena', 
			count ($mixturas), 
			self::ARENA
		);

		$this->_creaGrafica(
			$excel,
            'FUNDICION DE PLOMO % de Piedra de Cal EN MIXTURAS', 
			'% Piedra cal', 
			count ($mixturas), 
			self::PIEDRA_DE_CAL
		);

		$this->_creaGrafica(
			$excel,
            'FUNDICION DE PLOMO % Conc de Fierro EN MIXTURAS', 
			'% Conc. Fe', 
			count ($mixturas), 
			self::CASC_FE_TONS
		);

		$this->_creaGrafica(
			$excel,
            '% Sulfuros EN MIXTURAS', 
			'FUNDICION DE PLOMO', 
			count ($mixturas), 
			self::SULFUROS
		);

		$this->_creaGrafica(
			$excel,
            '% S Util', 
			'% S UTIL', 
			count ($mixturas), 
			self::S_UTIL_CAL_C
		);

		$this->_creaGrafica(
			$excel,
            'FUNDICION DE PLOMO Suma de Ensaye de Fundentes (%SiO2+%CaO+&Fe)', 
			'Fundentes 3', 
			count ($mixturas), 
			self::SUMA_DE_ENSAYES_FUNDENTES
		);

		$this->_creaGrafica(
			$excel,
            'FUNDICION DE PLOMO suma de no fundentes (%SiO2+%CaO+&Fe)', 
			'Suma no fundentes', 
			count ($mixturas), 
			self::SUMA_DE_ENSAYES_NO_FUNDENTES
		);

		$this->_creaGrafica(
			$excel,
            'FUNDICION DE PLOMO Suma de total de Ensayes en Mixtura', 
			'Total ensayes', 
			count ($mixturas), 
			self::SUMA_TOTAL_ENSAYES_CALC
		);

		// Save Excel 2007 file
		$file = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
		$file->setIncludeCharts(TRUE);
		$file->save($fileName);

		$excel->disconnectWorksheets();
        unset($excel);

		return $fileName;
    }
}
